Functional Dependency Analysis Exercise

Scenario: University Course Registration System

You are analyzing a dataset from a university's course registration system. The table below contains information about students, courses, instructors, and enrollments. Your task is to identify which attributes have functional dependencies and which do not follow traditional dependency patterns.

Sample Data Table: COURSE_ENROLLMENT


StudentID StudentName Major GPA CourseCode CourseName Credits InstructorID InstructorName Semester Grade ClassSize RoomNumber
S001 Alice Johnson Computer Science 3.75 CS101 Intro to Programming 3 I201 Dr. Smith Fall2023 A 25 R101
S001 Alice Johnson Computer Science 3.75 MATH201 Calculus II 4 I105 Prof. Wilson Fall2023 B+ 30 R205
S002 Bob Chen Engineering 3.20 CS101 Intro to Programming 3 I201 Dr. Smith Fall2023 B 25 R101
S003 Carol Davis Mathematics 3.90 MATH201 Calculus II 4 I105 Prof. Wilson Fall2023 A 30 R205
S001 Alice Johnson Computer Science 3.85 CS102 Data Structures 3 I201 Dr. Smith Spring2024 A- 20 R101
S004 David Wilson Computer Science 2.85 CS101 Intro to Programming 3 I307 Dr. Taylor Spring2024 C+ 28 R150
S002 Bob Chen Engineering 3.35 PHYS201 Physics II 4 I105 Prof. Wilson Spring2024 B- 22 R205
S005 Emma Brown Mathematics 3.60 MATH201 Calculus II 4 I105 Prof. Wilson Spring2024 B+ 35 R301
S003 Carol Davis Mathematics 3.90 STAT301 Statistics 3 I405 Dr. Lee Fall2023 A 18 R180
S006 Frank Miller Engineering 3.45 CS101 Intro to Programming 3 I201 Dr. Smith Fall2023 B+ 25 R101

Student Analysis Task

Instructions: For each potential functional dependency listed below, determine whether it is:

Potential Functional Dependencies to Analyze:

  1. StudentID → StudentName
  2. StudentID → Major
  3. StudentID → GPA
  4. CourseCode → CourseName
  5. CourseCode → Credits
  6. InstructorID → InstructorName
  7. CourseCode → InstructorID
  8. CourseCode → InstructorName
  9. RoomNumber → ClassSize
  10. InstructorID → RoomNumber
  11. (StudentID, CourseCode) → Grade
  12. (CourseCode, Semester) → InstructorID
  13. (CourseCode, Semester) → ClassSize
  14. Major → GPA
  15. InstructorName → InstructorID

Report Requirement

Create a report (be sure to title it) and submit it as a Word or PDF file. The Word file should have Name, Data, Class, and Assignment (title page). From the list of potential functional dependencies, create a table (Excel or Word). The table will have 3 columns: Dependency, Validity (Valid, Not Valid, Partially Valid), and Reason (short description of why). You can use the following table (copy/paste) as a template. You may freely discuss your thoughts on Assignments Q & A . Questions should be emailed to your instructor at ronald.eaglin@daytonastate.edu 

All assignments should be submitted in a formal report format (See Guide to Writing Good Reports ) and submitted in Word or PDF format. 

 

Functional Dependency Analysis Worksheet

Instructions: For each potential functional dependency listed below, determine whether it is VALID, INVALID, or PARTIALLY VALID based on the course enrollment data. Provide a clear reason for your decision in the third column.
Potential Dependency Validity Reason
StudentID → StudentName VALID Each student ID maps to exactly one student name throughout the dataset. No student ID appears with different names.
StudentID → Major
StudentID → GPA
CourseCode → CourseName
CourseCode → Credits
InstructorID → InstructorName
CourseCode → InstructorID
CourseCode → InstructorName
RoomNumber → ClassSize
InstructorID → RoomNumber
(StudentID, CourseCode) → Grade
(CourseCode, Semester) → InstructorID
(CourseCode, Semester) → ClassSize
Major → GPA
InstructorName → InstructorID